'****************************************************************************'
'                                                                            '
' Copyright (C) 2010 Muhammad alaa                                           '
'                                                                            '
' This program is free software; you can redistribute it and/or modify       '
' it under the terms of the GNU General Public License as published by       '
' the Free Software Foundation; either version 2 of the License, or          '
' (at your option) any later version.                                        '
'                                                                            '
' This program is distributed in the hope that it will be useful,            '
' but WITHOUT ANY WARRANTY; without even the implied warranty of             '
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the              '
' GNU General Public License for more details.                               '
'                                                                            '
' You should have received a copy of the GNU General Public License along    '
' with this program; if not, write to the Free Software Foundation, Inc.,    '
' 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.                '
'                                                                            '
'****************************************************************************'

Namespace ComPlus
    <ComImport()> _
    <InterfaceType(ComInterfaceType.InterfaceIsIDispatch)> _
    <Guid(IID.ComPlus.IEventSubscription2)> _
    Public Interface IEventSubscription2
        <PreserveSig()> <DispId(1)> Function get_SubscriptionID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef SubscriptionID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(1)> Function put_SubscriptionID(<MarshalAs(UnmanagedType.BStr)> ByVal SubscriptionID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(2)> Function get_SubscriptionName(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef SubscriptionName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(2)> Function put_SubscriptionName(<MarshalAs(UnmanagedType.BStr)> ByVal SubscriptionName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(3)> Function get_PublisherID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef PublisherID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(3)> Function put_PublisherID(<MarshalAs(UnmanagedType.BStr)> ByVal PublisherID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(4)> Function get_EventClassID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef EventClassID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(4)> Function put_EventClassID(<MarshalAs(UnmanagedType.BStr)> ByVal EventClassID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(5)> Function get_MethodName(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef MethodName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(5)> Function put_MethodName(<MarshalAs(UnmanagedType.BStr)> ByVal MethodName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(6)> Function get_SubscriberCLSID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef SubscriberCLSID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(6)> Function put_SubscriberCLSID(<MarshalAs(UnmanagedType.BStr)> ByVal SubscriberCLSID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(7)> Function get_SubscriberInterface(<Out(), MarshalAs(UnmanagedType.IUnknown)> ByRef SubscriberInterface As Object) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(7)> Function put_SubscriberInterface(<MarshalAs(UnmanagedType.IUnknown)> ByVal SubscriberInterface As Object) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(8)> Function get_PerUser(<Out(), MarshalAs(UnmanagedType.Bool)> ByRef PerUser As Boolean) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(8)> Function put_PerUser(<MarshalAs(UnmanagedType.Bool)> ByVal PerUser As Boolean) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(9)> Function get_OwnerSID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef OwnerSID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(9)> Function put_OwnerSID(<MarshalAs(UnmanagedType.BStr)> ByVal OwnerSID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(10)> Function get_Enabled(<Out(), MarshalAs(UnmanagedType.Bool)> ByRef Enabled As Boolean) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(10)> Function put_Enabled(<MarshalAs(UnmanagedType.Bool)> ByVal Enabled As Boolean) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(11)> Function get_Description(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef Description As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(11)> Function put_Description(<MarshalAs(UnmanagedType.BStr)> ByVal Description As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(12)> Function get_MachineName(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef MachineName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(12)> Function put_MachineName(<MarshalAs(UnmanagedType.BStr)> ByVal MachineName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(13)> Function GetPublisherProperty(<MarshalAs(UnmanagedType.BStr)> ByVal PropertyName As String, <Out()> ByRef PropertyValue As IntPtr) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(14)> Function PutPublisherProperty(<MarshalAs(UnmanagedType.BStr)> ByVal PropertyName As String, ByVal PropertyValue As IntPtr) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(15)> Function RemovePublisherProperty(<MarshalAs(UnmanagedType.BStr)> ByVal PropertyName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(16)> Function GetPublisherPropertyCollection(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef collection As IEventObjectCollection) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(17)> Function GetSubscriberProperty(<MarshalAs(UnmanagedType.BStr)> ByVal PropertyName As String, <Out()> ByRef PropertyValue As IntPtr) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(18)> Function PutSubscriberProperty(<MarshalAs(UnmanagedType.BStr)> ByVal PropertyName As String, ByVal PropertyValue As IntPtr) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(19)> Function RemoveSubscriberProperty(<MarshalAs(UnmanagedType.BStr)> ByVal PropertyName As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(20)> Function GetSubscriberPropertyCollection(<Out(), MarshalAs(UnmanagedType.Interface)> ByRef collection As IEventObjectCollection) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(21)> Function get_InterfaceID(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef InterfaceID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(21)> Function put_InterfaceID(<MarshalAs(UnmanagedType.BStr)> ByVal InterfaceID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(22)> Function get_FilterCriteria(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef FilterCriteria As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(22)> Function put_FilterCriteria(<MarshalAs(UnmanagedType.BStr)> ByVal FilterCriteria As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(23)> Function get_SubscriberMoniker(<Out(), MarshalAs(UnmanagedType.BStr)> ByRef InterfaceID As String) As <MarshalAs(UnmanagedType.Error)> Integer
        <PreserveSig()> <DispId(23)> Function put_SubscriberMoniker(<MarshalAs(UnmanagedType.BStr)> ByVal InterfaceID As String) As <MarshalAs(UnmanagedType.Error)> Integer
    End Interface
End Namespace